﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;

namespace DeloUtils.Migra
{
    /// <summary>
    ///класс для синхронизации иерархических справочников
    ///</summary>
    class SyncTree
    {
        /// <summary>
        /// Cправочник-источник
        /// </summary>
        public class Guide
        {
            /// <summary>
            /// Имя справочника
            /// </summary>
            protected string Name;

            /// <summary>
            /// Указатель на базу данных справочника
            /// </summary>
            protected OleDbConnection DB;

            /// <summary>
            /// Префикс подключения к базе данных (Необходим для использования SQL-запросов)
            /// </summary>
            protected string SqlPrefix
            {
                get
                {
                    if (DB.Provider.ToUpper().IndexOf("ORA") > 0)
                    {
                        return DB.Database + ".";
                    }
                    return "";
                }
            }

            /// <summary>
            /// Начальная вершина для сравнения справочников
            /// </summary>
            public string TopVertex = "0.";

            public string ISN_NODE = "ISN_NODE";

            public string ISN_HIGH_NODE = "ISN_HIGH_NODE";

            public string DUE = "DUE";

            public string FIELD_COPY = "IS_NODE,CLASSIF_NAME";
        }

        /// <summary>
        /// Cправочник-источник
        /// </summary>
        public class SourceGuide : Guide
        {
        }

        /// <summary>
        /// Cправочник-назначение
        /// </summary>
        public class DestinationGuide : Guide
        {
        }


        public void CopyVertex()
        {
        }

        private void CopyOneLevel()
        {

        }
    }
}
